home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 June: Reference Library / Dev.CD Jun 96 RL / Dev.CD Jun 96 RL.toast / Technical Documentation / develop / develop Issue 24 / develop Issue 24 code / Scriptable Database 1.0a15 / Base / Behavior.cp < prev    next >
Encoding:
Text File  |  1996-02-19  |  1.6 KB  |  64 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        Behavior.c
  3.  
  4.     Contains:    Behavior magic
  5.  
  6.     Written by:    Greg Anderson, Chris Bingham
  7.  
  8.     Copyright:    © 1992, 1994-1995 by Apple Computer, Inc., all rights reserved.
  9.  
  10.          <3>     6/15/95    ga        
  11. */
  12.  
  13. #ifdef MWTRACEBACKTABLES
  14. #pragma traceback on
  15. #endif
  16.  
  17. #include "Behavior.h"
  18.  
  19.  
  20. //========================================================================================
  21. // CLASS TBehavior
  22. //========================================================================================
  23.  
  24. #pragma segment ObjectResident
  25. ImplementSmallClassData(TBehavior, clBehavior);
  26.  
  27. #pragma segment Behavior
  28.  
  29. //----------------------------------------------------------------------------------------
  30. // TBehavior::~TBehavior
  31. //----------------------------------------------------------------------------------------
  32. TBehavior::~TBehavior()
  33.     {
  34.     if(fNextBehavior)
  35.         delete fNextBehavior;
  36.     }
  37.  
  38. //----------------------------------------------------------------------------------------
  39. // TBehavior::SetNextBehavior: 
  40. //----------------------------------------------------------------------------------------
  41. void TBehavior::SetNextBehavior(TBehavior* behavior, TObject* owner)
  42.     {
  43.     fBehaviorOwner = owner;
  44.     fNextBehavior = behavior;
  45.     } 
  46.  
  47.  
  48. //----------------------------------------------------------------------------------------
  49. // TBehavior::NextBehaviorOfClass: 
  50. //----------------------------------------------------------------------------------------
  51. TBehavior* TBehavior::NextBehaviorOfClass(SInt32 classID) const
  52.     {
  53.     TBehavior* behavior = this->NextBehavior();
  54.     
  55.     while((behavior != nil) && (behavior->DerivedFrom(classID) == false))
  56.         behavior = behavior->NextBehavior();
  57.     
  58.     return behavior;
  59.     }
  60.  
  61.  
  62.  
  63.  
  64.